// pages/pay/pay.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    user: {},
    // 商品数据
    carList: [],
    paylist: null,
    totalData: 0, //总价格
    totalNum: 0, // 商品总数量
    type:1, // 判断是否付款
  },
  // 计算总价格
  getTotal() {
    // 获取数据
    let carlist = this.data.carList;
    console.log(carlist);
    if (!carlist) { //没有数据
      return;
    }
    // 总价格
    let data = carlist.reduce((total, item) => {
      return total + item.num * item.goodsPrice
    }, 0)
    let num = this.data.totalNum;
    carlist.forEach(item => {
      num += item.num
    })
    this.setData({
      totalData: data,
      totalNum: num
    })
  },


  // 跳转订单页面
  goOrder(e) {
    console.log(e);
    console.log(this.data.paylist);

    this.setOrderLists();
    wx.navigateTo({
      url: '/pages/order/order',
    })

  },

  // 生成订单
  // 1.待支付 2.待发货 3.待收货 4.待评价
  // setOrderLists() {
  //   // 获取购物车数据，有没有数据添加订单
  //   let goodsCarList = wx.getStorageSync('goodsCarList');
  //   if(!goodsCarList){
  //       return;
  //   }
  //   // 构造订单数据
  //   let orderData = {
  //       orderId:new Date().getTime(),
  //       orderLists:null, //商品列表
  //       type:type,// 1.待支付 2.待发货 3.待收货 4.待评价
  //       total:this.data.totalData
  //   }

  //   // 添加商品
  //   orderData.orderLists = this.data.goodsList;

  //   // 1.判断缓存有没有数据
  //   let goodsOrderList = wx.getStorageSync('goodsOrderList');
  //   if(goodsOrderList){
  //       // 2.有数据添加数据
  //       goodsOrderList.unshift(orderData);
  //       wx.setStorageSync('goodsOrderList', goodsOrderList)
  //   }else{
  //       // 3.没有数据添加订单
  //       wx.setStorageSync('goodsOrderList', [orderData])
  //   }

  //   // 删除购物车数据
  //   wx.removeStorageSync('goodsCarList')
  // },

  setOrderLists() {
    // 构造订单数据
    console.log("123");
    let newtime = new Date();
    let yy = newtime.getFullYear();
    let mm = (newtime.getMonth()+1).toString().padStart(2,"0");
    let dd = (newtime.getDate()+1).toString().padStart(2,"0");
    let h = newtime.getHours().toString().padStart(2,"0");
    let m = newtime.getMinutes().toString().padStart(2,"0");
    let s = newtime.getSeconds().toString().padStart(2,"0");
    let orderList = {
      time: `${yy}-${mm}-${dd} ${h}:${m}:${s}`,
      goods: null, //商品列表
      type: this.data.type, //  1.未支付  2.已支付
      totalPrices: this.data.totalData, // 总价
      totalNum: this.data.totalNum, // 数量
    }
    orderList.goods = this.data.paylist

    // 1. 判断缓存有没有数据
    let goodsOrderList = wx.getStorageSync('goodsOrderList');
    if(goodsOrderList){
      // 2.有数据添加数据
      goodsOrderList.unshift(orderList);
      wx.setStorageSync("goodsOrderList",goodsOrderList)
    }else{
      // 3.没有数据添加订单
      wx.setStorageSync('goodsOrderList',[orderList])
    }

    // 4. 删除购物车数据
    // 获取购物车列表
    let goodsCarList = wx.getStorageSync('goodsCarList');
    let paylist = this.data.paylist;
    // 循环遍历
    paylist.forEach(item => {
      // 再次循环购物车列表
      goodsCarList.forEach((car,index) => {
        // 已经下单的就把他在购物车里面删除掉
        if(car.id == item.id){
          goodsCarList.splice(index,1)
        }
      });
    });
    wx.setStorageSync('goodsCarList', goodsCarList)
    

     wx.removeStorageSync('paylist')
  },

//  是否付款
  getPayment(e){
    console.log(e.currentTarget.dataset.type);
    let typeNum = e.currentTarget.dataset.type;
    if(typeNum==2){
      this.setData({
        type:typeNum 
      })
    }else{
      wx.showToast({
        title: '拒绝退款！',
        icon:"error",
        duration:2000
      })
    }
    // this.setData({
    //   type:typeNum 
    // })

  },


  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

    // 获取缓存数据
    let goodsCarList = wx.getStorageSync('paylist');
    console.log(goodsCarList);
    this.setData({
      carList: goodsCarList
    })
    let paylist = wx.getStorageSync('paylist');
    let useraddress = wx.getStorageSync('useraddress')
    this.setData({
      paylist: paylist,
      user: useraddress
    })
    this.getTotal(); //计算总价格

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})